[레포트]Robostics와 AWS IoT 기술을 결합한 무인 로봇 카페 운영 시스템 구축 사례
안녕하세요. 이병현입니다.
2021년 올해도 AWS re:Invent가 개최되었습니다. 한국어 세션중 하나를 보고 정리해둔 글입니다.
세션 개요
DESCRIPTION
비트코퍼레이션은 무인 로봇 카페를 상용화한 스타트업으로 B;eat3.0을 AWS를 사용해서 출시했습니다. 비트는 여러 지역에 있는 로봇 매장의 가시성을 확보하고 효율적인 운영을 위한 새로운 체계가 필요했습니다. 본 세션에서는 B;eat3.0에서 AWS 기반 IoT 및 분석 서비스 사례를 소개합니다. AWS Greengrass를 통해 엣지 단의 런타임 환경과 컴포넌트 관리 환경을 제공하고, AWS IoT Core를 통해 여러 지역에 있는 로봇 카페의 데이터를 수집합니다. AWS 분석 서비스 및 AWS Lambda를 사용해서 각종 데이터를 실시간 수집/가공한 뒤 대쉬보드를 통해 로봇 카페 운영을 위한 다양한 정보를 제공하는 엔드-투-엔드 서비스 사례를 소개합니다.
SPEAKERS
Chulwoo Choi Solutions Architect at AWS
Sung Won Jee CEO at b;eat corp.
SESSION LEVEL
200 - Intermediate
세션 내용
아젠다
- B;eat Robot Café 소개
- 아키텍처 설계 방향
- 비트코퍼레이션 i-MAD 개발 사례
- 정리하기
B;eat Robot Café 소개
- 로봇이 운영하는 무인 자동화 카페
- 현재 전국의 120개 점포가 운영중이며, 글로벌 진출도 앞두는 중.
- 기획 단계부터 AWS(AWS 프로토 타이핑팀)과 한께 진행하였음.
비트의 기획단계의 과제
- 전국 단위, 글로벌 진출을 위해 매장을 원격으로 지원 가능해야했음. 중앙 서버 외에도 비트에 탑재되어있는 부수 서버들을 직접관리하기에는 리소스가 많이 들고, 빠른 대처가 어려웠음.
-
IoT기능을 강화해서 각 머신들의 라이브 모니터링 시스템이 필요했음.
-
적절한 제품을 잘 만들고 있는지, 비트 내 이물질이 없는지 안정성 강화가 필요했음.
-
머신 운영상에 필요한 원재료들의 소비, 재고량을 모니터링이 필요했음.
아키텍처 설계 방향
- 데이터를 수집하고 엣지 소프트웨어를 개발하고 배포, 업데이트가 필요
- 엣지 디바이스는 서버에 연결하여 운영 상태 정보를 전달
- 효과적인 연동을 위해 적절한 프로토콜 선택
- 클라우드에서 메시지를 받아 가공, 변환 및 비지니스 로직 처리
- 매장 상태에 대한 데이터를 시각화하고 분석할 수 있는 플랫폼이 필요
이 모든 것을 큰 초기 비용없이, 사용한 만큼만 비용을 지불, 운영 비용을 최소하 할 수 있어야 함
- 엣지단에서 쉽개 개발, 배포 가능한 환경이 필요
- 커스텀 라이브러리 사용 가능해야 함
- 로봇 카페 엣지 모듈과 통신하기 위한 게이트웨이, 메시지 프로커 필요
- 로봇 카페가 늘어남에 따라 등록하고, 양쪽 간의 의존성을 낮추기 위한 pub/sub 구조
- 실시간 ETL 작업
- 실시간으로 데이터를 반영하는 시각화 환경
- 엣지 디바이스 연결 및 메시지 처리를 위해 AWS의 IoT 서비스 사용
- 클라우드에 올라온 메시지는 AWS Lambda를 통해 로봇 카페의 재료 소진 판단하고 Amazon SNS와 Amazon SES를 통해 알림을 전달
- 메시지는 Amazon S3에 저장, 이 메시지는 AWS Lambda가 변형한 뒤 Amazon OpenSearch 서비스에 저장
- Amazon OpenSearch는 시각화를 위해 키바나를 사용
전체적으로 AWS의 서버리스와 매니지드 서비스만을 사용하여 구성함
AWS IoT Greengrass
- 엣지에서 IoT 디바이스를 소프트웨어를 쉽게 구축하고 관리 할 수 있음
- 엣지 디바이스의 기계 학습을 통해 만든 모델을 배포하여 기계 학습 추론이 가능
- ARM or x86 아키텍처 기반의 우분투 혹은 라즈베리파이와 같은 리눅스 기반에 동작
- 기계 학습 모델 기반으로 추론
- 엣지단에서 소프트웨어를 효과적으로 개발, 배포
AWS IoT Greengrass Edge Runtime
- OS 위에 IoT Greengrass Client Software가 올라감
- 그 위에 Greengrass 컴포넌트가 올라감, 이 Greengrass 컴포넌트를 AWS Lambda, Docker 컨테이너, 혹은 자신만의 런타임을 만들어 자바, 파이썬 등 익숙한 프로그래밍 언어를 사용하여 개발, 운영이 가능해짐
- 라이선스는 아파치 2.0이며 소스는 오픈소스
- 특정 하드웨어 혹은 소프트웨어에 맞게 커스터마이징하고 확장 가능
AWS IoT Greengrass Cloud service
- 배포하는 경우 컴포넌트 형태로 클라우드로 퍼블리시하고 배포
- 배포 설정에는 어떤 컴포넌트를 배포할지 어떤 버전을 배포할지 기술 가능
- 배포 시, 유효성 확인 정책 및 컴포넌트가 롤아웃되는 속도, 실패 조건들을 구성 가능
- 배포를 특정 디바이스에만 할 수도 있고, thigsGropu에 배포도 가능
AWS IoT Core
- AWS IoT Core는 디바이스를 인증하여 클라우드에 안전하게 연결할 수 있게하는 게이트웨이 서비스를 제공
- 메시지를 프로세싱하여 클라우드로 라우팅
- 디바이스가 연결이 끊긴 상황에는 디바이스 섀도잉을 사용함
- 메시지를 필터링하고 프로세싱하여 다른 AWS 서비스, 다른 디바이스들과 통합하기 위한 룰 엔진 제공
AWS IoT Rule Engine
- 디바이스로 부터 오는 센서 데이터를 필터링하고 변환 가능
- 필터링은 SQL문을 사용
- 변환한 메시지를 특정 액션에 정의하여 Amazon S3에 저장하거나 AWS Lambda로 호출하거나 Amazon Kinesis로 보낸다거나 할 수 있음
AWS Lambda
- 서버를 관리할 필요 없음
- 규모에 따라 자동으로 확장
- 기본적으로 천개의 동시처리가 가능하며 상향 가능
- 파이썬, 자바스크립트, 자바 등 다양한 프로그래밍 언어 지원
- Amazon CloudWatch를 기본적으로 모니터링으로 제공
- 다른 AWS 서비스들과 통합이 쉬움
Amazon OpenSearch Service
- Amazon Elasticsearch Service, 키바나를 포그하여 아파지 2.0 라이선스를 따르는 오픈소스 프로젝트임
- OpenSearch 대시보드, 키바나 등을 사용하여 시각화 할 수 있음
- UltraWarm Storage를 통해 데이터를 경제적으로 관리할 수 있고, 효과적으로 읽고, 분석할 수 있게 해줌
비트코퍼레이션 i-MAD 개발 사례
- 장비와 센서 데이터들을 라이브로 수집하기 위해 AWS IoT Core와 AWS IoT Greengrass V2를 사용
- AWS IoT Greengrass를 통해 데이터를 업로드
- AWS IoT Core의 룰에 의해 두 개의 람다로 구성
- 이벤트 조건에 따른 알람을 발송
- Amazon OpenSearch Service로 실시간 분석하여 대시보드에 보여짐
- 오랜 기간이 경과한 데이터도 AWS Glue와 Amazon Athena, Amazon Quicksight를 통해 재사용할 수 있도록 배치
- IaC는 AWS CDK를 사용
- AWS CodePipeline을 통해 테스트를 구성
정리하기
앞으로의 진화 방향
- Amazon S3에 저장된 원본 데이터 기반으로 데이터 프로세싱하여 BI 서비스 제공
- 기계 학습을 통해 재료 소진 상태를 예측